import datetime

from flask import Blueprint, request
from utils.PutObjectUtil import putObject
from utils.Result import Response  # 统一返回工具类
import random
import string

img_blueprint = Blueprint('img', __name__)
# 创建工具类实例
Result = Response()


# 上传图片
@img_blueprint.route('/putImg', methods=['POST'])
def putImg():
    # 获取 POST 请求的 JSON 数据
    data = request.get_json()
    # 获取具体字段
    base64 = data['base64']
    url = data["url"]
    # 生成一个长度为10的随机字符串，包含大小写字母和数字
    random_string = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(10))
    # 获取当前日期
    current_date = datetime.date.today()
    # 判断前端是否传入url
    # 没有传入url拼接图片的地址和名字
    if len(url) == 0:
        imgName = "/plants/" + str(current_date) + "/" + str(random_string) + ".jpg"
    # 传入了就使用前端传入的url
    else:
        imgName = url
    # 上传图片的方法
    putObject(base64, imgName)
    # 返回给前端地址
    returnImg = "https://taritari-1306000991.cos.ap-chengdu.myqcloud.com"+imgName
    return Result.success(returnImg)
